Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Interface SpinnerModel

All Known Implementing Classes:
  AbstractSpinnerModel

public interface SpinnerModel

A model for a potentially unbounded sequence of object values. This model is similar to `ListModel` however there are some important differences:

- The number of sequence elements isn't neccessarily bounded.
- The model doesn't support indexed random access to sequence elements. Only three sequence values are accessible at a time: current, next and previous.
- The current sequence element, can be set.

A `SpinnerModel` has three properties, only the first is read/write.

`value`
  The current element of the sequence.
`nextValue`
  The following element or null if `value` is the last element of the sequence.
`previousValue`
  The preceeding element or null if `value` is the first element of the sequence.

When the the `value` property changes, `ChangeListeners` are notified. `SpinnerModel` may choose to notify the `ChangeListeners` under other circumstances.

Since:
  1.4
See Also:
  `JSpinner`, `AbstractSpinnerModel`, `SpinnerListodel`, `SpinnerNumberModel`, `SpinnerDateModel`

Method Summary
`void` | `addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the model's listener list.
`Object` | `getNextValue()` Return the object in the sequence that comes after the object returned by `getValue()`.
`Object` | `getPreviousValue()` Return the object in the sequence that comes before the object returned by `getValue()`.
`Object` | `getValue()` The current element of the sequence.
`void` | `removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the model's listener list.
`void` | `setValue(Object value)` Changes current value of the model, typically this value is displayed by the `editor` part of a `JSpinner`.

Method Detail

### getValue

    public Object getValue()

  The current element of the sequence. This element is usually displayed by the `editor` part of a `JSpinner`.

  Returns:
    the current spinner value.
  See Also:
    `setValue(java.lang.Object)`

### setValue

    public void setValue(Object value)

  Changes current value of the model, typically this value is displayed by the `editor` part of a `JSpinner`. If the `SpinnerModel` implementation doesn't support the specified value then an `IllegalArgumentException` is thrown. For example a `SpinnerModel` for numbers might only support values that are integer multiples of ten. In that case, `model.setValue(new Number(11))` would throw an exception.

  Throws:
    `IllegalArgumentException` - if `value` isn't allowed
  See Also:
    `getValue()`

### getNextValue

    public Object getNextValue()

  Return the object in the sequence that comes after the object returned by `getValue()`. If the end of the sequence has been reached then return null. Calling this method does not effect `value`.

  Returns:
    the next legal value or null if one doesn't exist
  See Also:
    `getValue()`, `getPreviousValue()`

### getPreviousValue

    public Object getPreviousValue()

  Return the object in the sequence that comes before the object returned by `getValue()`. If the end of the sequence has been reached then return null. Calling this method does not effect `value`.

  Returns:
    the previous legal value or null if one doesn't exist
  See Also:
    `getValue()`, `getNextValue()`

### addChangeListener

    public void addChangeListener(ChangeListener l)

  Adds a `ChangeListener` to the model's listener list. The `ChangeListeners` must be notified when models `value` changes.

  Parameters:
    `l` - the ChangeListener to add
  See Also:
    `removeChangeListener(javax.swing.event.ChangeListener)`

### removeChangeListener

    public void removeChangeListener(ChangeListener l)

  Removes a `ChangeListener` from the model's listener list.

  Parameters:
    `l` - the ChangeListener to remove
  See Also:
    `addChangeListener(javax.swing.event.ChangeListener)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.